-- ==============================================================
-- File generated on Mon Mar 09 18:12:13 CET 2020
-- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2018.3 (64-bit)
-- SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
-- IP Build 2404404 on Fri Dec  7 01:43:56 MST 2018
-- Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.
-- ==============================================================
library ieee; 
use ieee.std_logic_1164.all; 
use ieee.std_logic_unsigned.all;

entity mixer_duc_i_p0n5n10n15n20MHz_rom is 
    generic(
             DWIDTH     : integer := 8; 
             AWIDTH     : integer := 10; 
             MEM_SIZE    : integer := 800
    ); 
    port (
          addr0      : in std_logic_vector(AWIDTH-1 downto 0); 
          ce0       : in std_logic; 
          q0         : out std_logic_vector(DWIDTH-1 downto 0);
          clk       : in std_logic
    ); 
end entity; 


architecture rtl of mixer_duc_i_p0n5n10n15n20MHz_rom is 

signal addr0_tmp : std_logic_vector(AWIDTH-1 downto 0); 
type mem_array is array (0 to MEM_SIZE-1) of std_logic_vector (DWIDTH-1 downto 0); 
signal mem : mem_array := (
    0 to 160=> "01000000", 161 => "00101101", 162 => "00000000", 163 => "11010011", 
    164 => "11000000", 165 => "11010011", 166 => "00000000", 167 => "00101101", 
    168 => "01000000", 169 => "00101101", 170 => "00000000", 171 => "11010011", 
    172 => "11000000", 173 => "11010011", 174 => "00000000", 175 => "00101101", 
    176 => "01000000", 177 => "00101101", 178 => "00000000", 179 => "11010011", 
    180 => "11000000", 181 => "11010011", 182 => "00000000", 183 => "00101101", 
    184 => "01000000", 185 => "00101101", 186 => "00000000", 187 => "11010011", 
    188 => "11000000", 189 => "11010011", 190 => "00000000", 191 => "00101101", 
    192 => "01000000", 193 => "00101101", 194 => "00000000", 195 => "11010011", 
    196 => "11000000", 197 => "11010011", 198 => "00000000", 199 => "00101101", 
    200 => "01000000", 201 => "00101101", 202 => "00000000", 203 => "11010011", 
    204 => "11000000", 205 => "11010011", 206 => "00000000", 207 => "00101101", 
    208 => "01000000", 209 => "00101101", 210 => "00000000", 211 => "11010011", 
    212 => "11000000", 213 => "11010011", 214 => "00000000", 215 => "00101101", 
    216 => "01000000", 217 => "00101101", 218 => "00000000", 219 => "11010011", 
    220 => "11000000", 221 => "11010011", 222 => "00000000", 223 => "00101101", 
    224 => "01000000", 225 => "00101101", 226 => "00000000", 227 => "11010011", 
    228 => "11000000", 229 => "11010011", 230 => "00000000", 231 => "00101101", 
    232 => "01000000", 233 => "00101101", 234 => "00000000", 235 => "11010011", 
    236 => "11000000", 237 => "11010011", 238 => "00000000", 239 => "00101101", 
    240 => "01000000", 241 => "00101101", 242 => "00000000", 243 => "11010011", 
    244 => "11000000", 245 => "11010011", 246 => "00000000", 247 => "00101101", 
    248 => "01000000", 249 => "00101101", 250 => "00000000", 251 => "11010011", 
    252 => "11000000", 253 => "11010011", 254 => "00000000", 255 => "00101101", 
    256 => "01000000", 257 => "00101101", 258 => "00000000", 259 => "11010011", 
    260 => "11000000", 261 => "11010011", 262 => "00000000", 263 => "00101101", 
    264 => "01000000", 265 => "00101101", 266 => "00000000", 267 => "11010011", 
    268 => "11000000", 269 => "11010011", 270 => "00000000", 271 => "00101101", 
    272 => "01000000", 273 => "00101101", 274 => "00000000", 275 => "11010011", 
    276 => "11000000", 277 => "11010011", 278 => "00000000", 279 => "00101101", 
    280 => "01000000", 281 => "00101101", 282 => "00000000", 283 => "11010011", 
    284 => "11000000", 285 => "11010011", 286 => "00000000", 287 => "00101101", 
    288 => "01000000", 289 => "00101101", 290 => "00000000", 291 => "11010011", 
    292 => "11000000", 293 => "11010011", 294 => "00000000", 295 => "00101101", 
    296 => "01000000", 297 => "00101101", 298 => "00000000", 299 => "11010011", 
    300 => "11000000", 301 => "11010011", 302 => "00000000", 303 => "00101101", 
    304 => "01000000", 305 => "00101101", 306 => "00000000", 307 => "11010011", 
    308 => "11000000", 309 => "11010011", 310 => "00000000", 311 => "00101101", 
    312 => "01000000", 313 => "00101101", 314 => "00000000", 315 => "11010011", 
    316 => "11000000", 317 => "11010011", 318 => "00000000", 319 => "00101101", 
    320 => "01000000", 321 => "00000000", 322 => "11000000", 323 => "00000000", 
    324 => "01000000", 325 => "00000000", 326 => "11000000", 327 => "00000000", 
    328 => "01000000", 329 => "00000000", 330 => "11000000", 331 => "00000000", 
    332 => "01000000", 333 => "00000000", 334 => "11000000", 335 => "00000000", 
    336 => "01000000", 337 => "00000000", 338 => "11000000", 339 => "00000000", 
    340 => "01000000", 341 => "00000000", 342 => "11000000", 343 => "00000000", 
    344 => "01000000", 345 => "00000000", 346 => "11000000", 347 => "00000000", 
    348 => "01000000", 349 => "00000000", 350 => "11000000", 351 => "00000000", 
    352 => "01000000", 353 => "00000000", 354 => "11000000", 355 => "00000000", 
    356 => "01000000", 357 => "00000000", 358 => "11000000", 359 => "00000000", 
    360 => "01000000", 361 => "00000000", 362 => "11000000", 363 => "00000000", 
    364 => "01000000", 365 => "00000000", 366 => "11000000", 367 => "00000000", 
    368 => "01000000", 369 => "00000000", 370 => "11000000", 371 => "00000000", 
    372 => "01000000", 373 => "00000000", 374 => "11000000", 375 => "00000000", 
    376 => "01000000", 377 => "00000000", 378 => "11000000", 379 => "00000000", 
    380 => "01000000", 381 => "00000000", 382 => "11000000", 383 => "00000000", 
    384 => "01000000", 385 => "00000000", 386 => "11000000", 387 => "00000000", 
    388 => "01000000", 389 => "00000000", 390 => "11000000", 391 => "00000000", 
    392 => "01000000", 393 => "00000000", 394 => "11000000", 395 => "00000000", 
    396 => "01000000", 397 => "00000000", 398 => "11000000", 399 => "00000000", 
    400 => "01000000", 401 => "00000000", 402 => "11000000", 403 => "00000000", 
    404 => "01000000", 405 => "00000000", 406 => "11000000", 407 => "00000000", 
    408 => "01000000", 409 => "00000000", 410 => "11000000", 411 => "00000000", 
    412 => "01000000", 413 => "00000000", 414 => "11000000", 415 => "00000000", 
    416 => "01000000", 417 => "00000000", 418 => "11000000", 419 => "00000000", 
    420 => "01000000", 421 => "00000000", 422 => "11000000", 423 => "00000000", 
    424 => "01000000", 425 => "00000000", 426 => "11000000", 427 => "00000000", 
    428 => "01000000", 429 => "00000000", 430 => "11000000", 431 => "00000000", 
    432 => "01000000", 433 => "00000000", 434 => "11000000", 435 => "00000000", 
    436 => "01000000", 437 => "00000000", 438 => "11000000", 439 => "00000000", 
    440 => "01000000", 441 => "00000000", 442 => "11000000", 443 => "00000000", 
    444 => "01000000", 445 => "00000000", 446 => "11000000", 447 => "00000000", 
    448 => "01000000", 449 => "00000000", 450 => "11000000", 451 => "00000000", 
    452 => "01000000", 453 => "00000000", 454 => "11000000", 455 => "00000000", 
    456 => "01000000", 457 => "00000000", 458 => "11000000", 459 => "00000000", 
    460 => "01000000", 461 => "00000000", 462 => "11000000", 463 => "00000000", 
    464 => "01000000", 465 => "00000000", 466 => "11000000", 467 => "00000000", 
    468 => "01000000", 469 => "00000000", 470 => "11000000", 471 => "00000000", 
    472 => "01000000", 473 => "00000000", 474 => "11000000", 475 => "00000000", 
    476 => "01000000", 477 => "00000000", 478 => "11000000", 479 => "00000000", 
    480 => "01000000", 481 => "11010011", 482 => "00000000", 483 => "00101101", 
    484 => "11000000", 485 => "00101101", 486 => "00000000", 487 => "11010011", 
    488 => "01000000", 489 => "11010011", 490 => "00000000", 491 => "00101101", 
    492 => "11000000", 493 => "00101101", 494 => "00000000", 495 => "11010011", 
    496 => "01000000", 497 => "11010011", 498 => "00000000", 499 => "00101101", 
    500 => "11000000", 501 => "00101101", 502 => "00000000", 503 => "11010011", 
    504 => "01000000", 505 => "11010011", 506 => "00000000", 507 => "00101101", 
    508 => "11000000", 509 => "00101101", 510 => "00000000", 511 => "11010011", 
    512 => "01000000", 513 => "11010011", 514 => "00000000", 515 => "00101101", 
    516 => "11000000", 517 => "00101101", 518 => "00000000", 519 => "11010011", 
    520 => "01000000", 521 => "11010011", 522 => "00000000", 523 => "00101101", 
    524 => "11000000", 525 => "00101101", 526 => "00000000", 527 => "11010011", 
    528 => "01000000", 529 => "11010011", 530 => "00000000", 531 => "00101101", 
    532 => "11000000", 533 => "00101101", 534 => "00000000", 535 => "11010011", 
    536 => "01000000", 537 => "11010011", 538 => "00000000", 539 => "00101101", 
    540 => "11000000", 541 => "00101101", 542 => "00000000", 543 => "11010011", 
    544 => "01000000", 545 => "11010011", 546 => "00000000", 547 => "00101101", 
    548 => "11000000", 549 => "00101101", 550 => "00000000", 551 => "11010011", 
    552 => "01000000", 553 => "11010011", 554 => "00000000", 555 => "00101101", 
    556 => "11000000", 557 => "00101101", 558 => "00000000", 559 => "11010011", 
    560 => "01000000", 561 => "11010011", 562 => "00000000", 563 => "00101101", 
    564 => "11000000", 565 => "00101101", 566 => "00000000", 567 => "11010011", 
    568 => "01000000", 569 => "11010011", 570 => "00000000", 571 => "00101101", 
    572 => "11000000", 573 => "00101101", 574 => "00000000", 575 => "11010011", 
    576 => "01000000", 577 => "11010011", 578 => "00000000", 579 => "00101101", 
    580 => "11000000", 581 => "00101101", 582 => "00000000", 583 => "11010011", 
    584 => "01000000", 585 => "11010011", 586 => "00000000", 587 => "00101101", 
    588 => "11000000", 589 => "00101101", 590 => "00000000", 591 => "11010011", 
    592 => "01000000", 593 => "11010011", 594 => "00000000", 595 => "00101101", 
    596 => "11000000", 597 => "00101101", 598 => "00000000", 599 => "11010011", 
    600 => "01000000", 601 => "11010011", 602 => "00000000", 603 => "00101101", 
    604 => "11000000", 605 => "00101101", 606 => "00000000", 607 => "11010011", 
    608 => "01000000", 609 => "11010011", 610 => "00000000", 611 => "00101101", 
    612 => "11000000", 613 => "00101101", 614 => "00000000", 615 => "11010011", 
    616 => "01000000", 617 => "11010011", 618 => "00000000", 619 => "00101101", 
    620 => "11000000", 621 => "00101101", 622 => "00000000", 623 => "11010011", 
    624 => "01000000", 625 => "11010011", 626 => "00000000", 627 => "00101101", 
    628 => "11000000", 629 => "00101101", 630 => "00000000", 631 => "11010011", 
    632 => "01000000", 633 => "11010011", 634 => "00000000", 635 => "00101101", 
    636 => "11000000", 637 => "00101101", 638 => "00000000", 639 => "11010011", 
    640 => "01000000", 641 => "11000000", 642 => "01000000", 643 => "11000000", 
    644 => "01000000", 645 => "11000000", 646 => "01000000", 647 => "11000000", 
    648 => "01000000", 649 => "11000000", 650 => "01000000", 651 => "11000000", 
    652 => "01000000", 653 => "11000000", 654 => "01000000", 655 => "11000000", 
    656 => "01000000", 657 => "11000000", 658 => "01000000", 659 => "11000000", 
    660 => "01000000", 661 => "11000000", 662 => "01000000", 663 => "11000000", 
    664 => "01000000", 665 => "11000000", 666 => "01000000", 667 => "11000000", 
    668 => "01000000", 669 => "11000000", 670 => "01000000", 671 => "11000000", 
    672 => "01000000", 673 => "11000000", 674 => "01000000", 675 => "11000000", 
    676 => "01000000", 677 => "11000000", 678 => "01000000", 679 => "11000000", 
    680 => "01000000", 681 => "11000000", 682 => "01000000", 683 => "11000000", 
    684 => "01000000", 685 => "11000000", 686 => "01000000", 687 => "11000000", 
    688 => "01000000", 689 => "11000000", 690 => "01000000", 691 => "11000000", 
    692 => "01000000", 693 => "11000000", 694 => "01000000", 695 => "11000000", 
    696 => "01000000", 697 => "11000000", 698 => "01000000", 699 => "11000000", 
    700 => "01000000", 701 => "11000000", 702 => "01000000", 703 => "11000000", 
    704 => "01000000", 705 => "11000000", 706 => "01000000", 707 => "11000000", 
    708 => "01000000", 709 => "11000000", 710 => "01000000", 711 => "11000000", 
    712 => "01000000", 713 => "11000000", 714 => "01000000", 715 => "11000000", 
    716 => "01000000", 717 => "11000000", 718 => "01000000", 719 => "11000000", 
    720 => "01000000", 721 => "11000000", 722 => "01000000", 723 => "11000000", 
    724 => "01000000", 725 => "11000000", 726 => "01000000", 727 => "11000000", 
    728 => "01000000", 729 => "11000000", 730 => "01000000", 731 => "11000000", 
    732 => "01000000", 733 => "11000000", 734 => "01000000", 735 => "11000000", 
    736 => "01000000", 737 => "11000000", 738 => "01000000", 739 => "11000000", 
    740 => "01000000", 741 => "11000000", 742 => "01000000", 743 => "11000000", 
    744 => "01000000", 745 => "11000000", 746 => "01000000", 747 => "11000000", 
    748 => "01000000", 749 => "11000000", 750 => "01000000", 751 => "11000000", 
    752 => "01000000", 753 => "11000000", 754 => "01000000", 755 => "11000000", 
    756 => "01000000", 757 => "11000000", 758 => "01000000", 759 => "11000000", 
    760 => "01000000", 761 => "11000000", 762 => "01000000", 763 => "11000000", 
    764 => "01000000", 765 => "11000000", 766 => "01000000", 767 => "11000000", 
    768 => "01000000", 769 => "11000000", 770 => "01000000", 771 => "11000000", 
    772 => "01000000", 773 => "11000000", 774 => "01000000", 775 => "11000000", 
    776 => "01000000", 777 => "11000000", 778 => "01000000", 779 => "11000000", 
    780 => "01000000", 781 => "11000000", 782 => "01000000", 783 => "11000000", 
    784 => "01000000", 785 => "11000000", 786 => "01000000", 787 => "11000000", 
    788 => "01000000", 789 => "11000000", 790 => "01000000", 791 => "11000000", 
    792 => "01000000", 793 => "11000000", 794 => "01000000", 795 => "11000000", 
    796 => "01000000", 797 => "11000000", 798 => "01000000", 799 => "11000000" );


begin 


memory_access_guard_0: process (addr0) 
begin
      addr0_tmp <= addr0;
--synthesis translate_off
      if (CONV_INTEGER(addr0) > mem_size-1) then
           addr0_tmp <= (others => '0');
      else 
           addr0_tmp <= addr0;
      end if;
--synthesis translate_on
end process;

p_rom_access: process (clk)  
begin 
    if (clk'event and clk = '1') then
        if (ce0 = '1') then 
            q0 <= mem(CONV_INTEGER(addr0_tmp)); 
        end if;
    end if;
end process;

end rtl;

Library IEEE;
use IEEE.std_logic_1164.all;

entity mixer_duc_i_p0n5n10n15n20MHz is
    generic (
        DataWidth : INTEGER := 8;
        AddressRange : INTEGER := 800;
        AddressWidth : INTEGER := 10);
    port (
        reset : IN STD_LOGIC;
        clk : IN STD_LOGIC;
        address0 : IN STD_LOGIC_VECTOR(AddressWidth - 1 DOWNTO 0);
        ce0 : IN STD_LOGIC;
        q0 : OUT STD_LOGIC_VECTOR(DataWidth - 1 DOWNTO 0));
end entity;

architecture arch of mixer_duc_i_p0n5n10n15n20MHz is
    component mixer_duc_i_p0n5n10n15n20MHz_rom is
        port (
            clk : IN STD_LOGIC;
            addr0 : IN STD_LOGIC_VECTOR;
            ce0 : IN STD_LOGIC;
            q0 : OUT STD_LOGIC_VECTOR);
    end component;



begin
    mixer_duc_i_p0n5n10n15n20MHz_rom_U :  component mixer_duc_i_p0n5n10n15n20MHz_rom
    port map (
        clk => clk,
        addr0 => address0,
        ce0 => ce0,
        q0 => q0);

end architecture;


